package top.milkbox.controller;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
import top.milkbox.utils.R;

import javax.servlet.http.HttpSession;


/**
 * 登录相关的控制器
 */
@RestController
@RequestMapping("/login")
public class LoginController {

    @Autowired
    private RestTemplate restTemplate;

//    @PostMapping
//    public R login(@RequestBody String code, HttpSession session) {
//        // 判断用户是否已经登录
//        if (session.getAttribute("weChatInfo") != null) {
//            System.out.println("用户已经登录");
//            System.out.println(session.getAttribute("weChatInfo"));
//            return new R(false, "用户已经登录", "用户已经登录");
//        }
//        System.out.println("用户未登录");
//        System.out.println(code);
//
//        String appid = "wx4c02db49ed4e9c87";
//        String secret = "79aa0b5e16c7edc83f154d770a856de9";
//
//        // 发送get请求
//        String url = "https://api.weixin.qq.com/sns/jscode2session" +
//                "?appid=" + appid +
//                "&secret=" + secret +
//                "&js_code=" + code +
//                "&grant_type=authorization_code";
//        ResponseEntity<String> forEntity = restTemplate.getForEntity(url, String.class);
//        String weChatInfoJson = forEntity.getBody(); // 获取到数据
//
//        // 将json字符串转换成对象
//        ObjectMapper objectMapper = new ObjectMapper();
//        WeChatInfo weChatInfo = null;
//        try {
//            weChatInfo = objectMapper.readValue(weChatInfoJson, WeChatInfo.class);
//        } catch (JsonProcessingException e) {
//            e.printStackTrace();
//        }
//
//        // 将用户信息存入session
//        session.setAttribute("weChatInfo", weChatInfo);
//        System.out.println(session.getAttribute("weChatInfo").toString());
//
//        String sessionId = session.getId(); // 获取sessionId
//
//        return new R(true, sessionId, "登录成功");
//    }

//    @Data
//    private static class WeChatInfo {
//        private String session_key;
//        private String openid;
//
//    }
}
